Technote 1133

The New PrGeneral Version Opcode


ñ⁄éü

êV PrGeneral OP ÉRÅ[Éh

ÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇ™ímǡǃǮÇ≠Ç◊Ç´éñïø

ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉfÉxÉçÉbÉpÇ™ímǡǃǮÇ≠Ç◊Ç´éñïø

wDev ÇÃìoò^

éQçlï∂å£

âflãé 12 îNä‘ÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇÕÅAÉvÉäÉìÉgÉåÉRÅ[ÉhÇà TPrStl ÉfÅ[É^ç\ë¢ëÃì‡Çà wDev ÉtÉBÅ[ÉãÉhÇégǡǃÅAÉfÉoÉCÉXÇÃèÓïÒÇï€ë∂ǵǃǴNjǵÇΩÅBì¡Ç…ÅAó·äOÇ»Ç≠DZÇÃÉtÉBÅ[ÉãÉhÇÃè„à ÉoÉCÉg (wDev ID ÇΔåƒÇŒÇÍǃǢNjÇ∑) ÇégǡǃÉfÉoÉCÉXèÓïÒÇï€ë∂ǵǃǴNjǵÇΩÅBécîOǻǙÇÁÅAÉvÉäÉìÉgÉåÉRÅ[ÉhÇΔ wDev ÉtÉBÅ[ÉãÉhÇÃê›åvè„ÇÃêßå¿ÇÃÇΩÇflÅAPrinting Manager Ç≈égópÇ≈Ç´ÇÈÇÃÇÕç≈ëÂÇ≈ 256 å¬Çà ID ÇæÇØÇ≈Ç∑ÅBã¡Ç≠Ç◊ǴDZÇΔÇ…ÅAÉvÉäÉìÉ^ésèÍÇÃägëÂÇΔÇΔLJDžDZÇÃêîÇ≈ÇÕë´ÇËÇ»Ç≠ǻǡǃǵNjǢNjǵÇΩÅBDZÇÃÇΩÇflÇÌÇÍÇÌÇÍÇÕÅALaserWriter ÉhÉâÉCÉoÇÃÉoÅ[ÉWÉáÉì 8.4 Ç≈ÅAPrinting Manager Ç… PrGeneral OP ÉRÅ[ÉhÇΔêVǵǢç\ë¢ëÃÇí«â¡ÇµÇƒÅAÉfÉxÉçÉbÉpǙDZÇÃêßñÒÇâÒîÇ≈Ç´ÇÈÇÊǧDžǵNjǵÇΩÅB

DZÇà TECHNOTE ÇÕÉvÉäÉìÉ^ÉhÉâÉCÉoÇΔÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉfÉxÉçÉbÉpå¸ÇØÇ…èëÇ©ÇÍÇΩLJÇÃÇ≈Ç∑ÅBDZDZÇ≈ê‡ñæÇ∑ÇÈêVǵǢèÓïÒÇóòópÇ∑ÇÈÇ…ÇÕÉRÅ[ÉhÇí«â¡Ç∑ÇÈïKóvǙdžÇËÇ‹Ç∑Ç™ÅAïœçXÇÕç≈è¨å¿Ç≈çœÇfiÇÊǧDžǵǃdžÇËÇ‹Ç∑ÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ì¡íËÇÃÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃã@î\Çí≤Ç◊ÇÈÇΩÇflÇ…ÅAêVǵǢÉoÅ[ÉWÉáÉìèÓïÒÇéÊÇËèoÇ∑ï˚ñ@Çé¶Ç∑ÉTÉìÉvÉãÉRÅ[ÉhÇà»â∫Ç…é¶ÇµÇ‹Ç∑ÅB


êV PrGeneral OP ÉRÅ[Éh: kPrVersionOp

LaserWriter ÉhÉâÉCÉoÇÃÉoÅ[ÉWÉáÉì 8.4 Ç≈ÇÕÅAêVǵǢ PrGeneral OP ÉRÅ[ÉhǙǢÇ≠Ǭǩì±ì¸Ç≥ÇÍNjǵÇΩÅBǪÇÃÇ§ÇøÇÃÇ–ÇΔǬǙÉhÉâÉCÉoÇÃÉoÅ[ÉWÉáÉìèÓïÒÇÃÇΩÇflÇà OP ÉRÅ[ÉhÅAkPrVersionOp Ç≈Ç∑ÅBkPrVersionOp ÇÃégópÇÕåªç›ÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™åªç›égópíÜÇÃÉvÉäÉìÉ^ÉhÉâÉCÉoÇí≤Ç◊ÇÈÇΩÇflÇÃñ]NjǵǢï˚ñ@Ç≈Ç∑ÅBêVǵǢ PrGeneral OP ÉRÅ[ÉhÇégÇÌǻǢÅAÉAÉbÉvÉfÅ[ÉgëOÇÃÉvÉäÉìÉ^ÉhÉâÉCÉoLJégǶÇÈÇÊǧÅAè]óàǫǮÇËÇà wDev Ç…ÇÊÇÈÉ`ÉFÉbÉNÇçsǧÉRÅ[ÉhLJécǵǃǮÇ≠ïKóvǙdžÇËÇ‹Ç∑ÅB
LaserWriter ÉoÅ[ÉWÉáÉì 8.4 Ç≈ì±ì¸Ç≥ÇÍÇΩÅAägí£ÉvÉäÉìÉgÉåÉRÅ[Éh OP ÉRÅ[ÉhÇÃè⁄ç◊DžǬǢǃÇÕÅAÅwdevelop 27: Print Hints: The All-New LaserWriter Driver Version 8.4ÅxÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅBÉAÉbÉvÉãÇÃÉvÉäÉìÉ^ÉhÉâÉCÉoÇ≈ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈÅAëºÇÃÇ∑Ç◊ǃÇà PrGeneral OP ÉRÅ[ÉhÇÃÉäÉXÉgÇ™åfç⁄Ç≥ÇÍǃǢNjÇ∑ÅBPrGeneral ÇÃè⁄ç◊DžǬǢǃÇÕÅAÅwdevelop 3: Trap That Makes the Most of the Printing ManagerÅxÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB


ÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇ™ímǡǃǮÇ≠Ç◊Ç´éñïø


ç°å„ÅAÉAÉbÉvÉãÇà Developer Support Center ÇÕÇ∑Ç◊ǃÇÃÉhÉâÉCÉoÇ…ëŒÇµÇƒ wDev ID Çà 255 ÇΔǢǧílÇäÑÇËìñǃNjÇ∑ÅBå√Ç¢ wDev ID (255 ÇÊÇËè¨Ç≥Ç¢êî) ÇégǡǃǢÇÈèÍçáÇÕÅAǪÇÃî‘çÜÇǪÇÃNjNjégÇ¢ë±ÇØÇƒÅAÉhÉâÉCÉoÇà wDev Ç…àÀë∂Ç∑ÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇîjâÛǵǻǢÇÊÇ§Ç…ÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÇ≥ÇÁÇ…ÅAêVǵǢ kPrVersionOp OP ÉRÅ[ÉhÇDZDZÇÃê‡ñæÇÃí ÇËÇ…é¿ëïǵǃÅAêVǵǢÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ÉhÉâÉCÉoÇÃêVã@î\ÇäàópÇ≈Ç´ÇÈÇÊǧDžÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB
ÉäÉXÉg 1 Ç…ÇÕÅAPDEF 7 ÉäÉ\Å[ÉXÇ…é¿ëïÇ∑ÇÈïKóvÇÃdžÇÈêVǵǢ OP ÉRÅ[ÉhÇΔç\ë¢ëÃÇ™ç⁄ǡǃǢNjÇ∑ÅBTPrVersion ç\ë¢ëÃÇà driver.creator ÉtÉBÅ[ÉãÉhÇ…ÉNÉäÉGÅ[É^É^ÉCÉvÇê›íËÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBdriver.release Ç…ÉoÅ[ÉWÉáÉìî‘çÜÇê›íËǵÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉfÉxÉçÉbÉpÇ…óòópâ¬î\Ç»ÉhÉâÉCÉoÇÃÉoÅ[ÉWÉáÉìÇímÇÁÇπÇÈïKóvLJdžÇËÇ‹Ç∑ÅB
    release ÇΔ intefaces ÉtÉBÅ[ÉãÉhÇÕÅA'vers' ÉäÉ\Å[ÉXÇÃç≈èâÇà long ÇΔìØÇ∂å`éÆÇ≈Ç∑ÅBǬNjÇËÅA4 å¬Çà 1 ÉoÉCÉgÇÃílÇ≈ÅAǪÇÍǺÇÍÅAÉÅÉWÉÉÅ[ÅEÉoÅ[ÉWÉáÉìî‘çÜÅAÉ}ÉCÉiÅ[ÅEÉoÅ[ÉWÉáÉìî‘çÜÅAâ¸í˘ÇÃíiäK (äJî≠íÜ= 0x20ÅAÉAÉãÉtÉ@ = 0x40ÅAÉxÅ[É^ = 0x60ÅAÉäÉäÅ[ÉX = 0x80)ÅAÉäÉäÅ[ÉXëOÇÃÉoÅ[ÉWÉáÉìî‘çÜÇ≈Ç∑ÅB
ÉäÉXÉg 1Å@êVǵǢÉoÅ[ÉWÉáÉì OP ÉRÅ[ÉhÇΔç\ë¢ëÃ
enum {
...
    kPrVersionOp = 22           // LaserWriter ÉoÅ[ÉWÉáÉì 8.4 à»ç~ÇÃÇ›
};
typedef struct {
    OSType architecture;        // ÉAÅ[ÉLÉeÉNÉ`ÉÉ (ó·Ç¶ÇŒ 'pwpc' Ç‚ 'm68k')
    OSType creator;             // ÉhÉâÉCÉoÇÃÉNÉäÉGÅ[É^É^ÉCÉv (ó·Ç¶ÇŒ 'AAPL')
    unsigned long release;      // ÉäÉäÅ[ÉXî‘çÜ (ó·Ç¶ÇŒ 0x8480)
    unsigned long interfaces;   // ÉCÉìÉ^ÉtÉFÅ[ÉXÉoÅ[ÉWÉáÉì (ó·Ç¶ÇŒ 0x8480)
} TVersion;
Å@
typedef struct {
    short iOpCode;              // kPrVersionOp Ç≈Ç»ÇØÇÍnjǻÇÁǻǢ
    short iError;               // ÉGÉâÅ[Çï‘Ç∑ÇΩÇfl
    long lReserved;             // ó\ñÒÅA0 Ç…ê›íË
    TVersion driver;            // ÉhÉâÉCÉoèÓïÒ
    TVersion reserved;          // ó\ñÒÅA0 Ç…ê›íË
} TPrVersion;
Å@
ÉhÉâÉCÉoÇ≈êVǵǢ PrGeneral OP ÉRÅ[ÉhÇÉTÉ|Å[ÉgÇ∑ÇÈÇΩÇflÇ…ÇµÇ»ÇØÇÍnjǻÇÁǻǢDZÇΔÇÕà»è„Ç≈Ç∑ÅBÇΔǃLJä»íPÇ≈ǵÇÂǧÅB

ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉfÉxÉçÉbÉpÇ™ímǡǃǮÇ≠Ç◊Ç´éñïø


ÉAÉbÉvÉãÇÕÉfÉxÉçÉbÉpÇ™ÉvÉäÉìÉgÉåÉRÅ[ÉhÇà wDev ÉtÉBÅ[ÉãÉhÇÉ`ÉFÉbÉNÇ∑ÇÈDZÇΔÇÇ∑Ç∑ÇflǃǢNjÇπÇÒÇ™ÅADZÇÍÇǂǡǃǢÇÈêlÇ™ÇΩÇ≠Ç≥ÇÒǢNjÇ∑ÅBDZǧǢǧêlÇΩÇøÇÕÅAì¡íËÇà wDev ÇÃílÇ…ÇÊǡǃÉvÉäÉìÉ^DždžÇÈì¡íËÇÃã@î\ǙdžÇÈLJÇÃÇΔîªífÇ∑ÇÈÇÃÇ≈Ç∑ÅBó·Ç¶ÇŒÅAëΩÇ≠ÇÃÉfÉxÉçÉbÉpÇÕÅAwDev Ç™ 3 ÇæÇΔÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇ™ PostScript[tm] ÇÉTÉ|Å[ÉgÇ∑ÇÈDZÇΔÇà”ñ°Ç∑ÇÈÇΔévǡǃǢNjÇ∑ÅBé¿ç€Ç…ÇÕÅAǪÇÃÉvÉäÉìÉ^Ç™ÉAÉbÉvÉãÇà LaserWriter ÉhÉâÉCÉoÇégópÇ∑ÇÈDZÇΔÇé¶ÇµÇƒÇ¢ÇÈÇæÇØÇ≈Ç∑ÅBDZÇÍÇ≈ÇÕÅAÉÜÅ[ÉUÇ™ÅAó·Ç¶ÇŒ ID Ç™ 243 ÇÃÅAÉAÉbÉvÉãà»äOÇà PostScript ÉhÉâÉCÉoÇégǡǃǢÇÈÇΔǢǧâ¬î\ê´Ç…ǬǢǃçló∂Ç≥ÇÍǃǢNjÇπÇÒÅB
ÉAÉbÉvÉãÇÕÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉfÉxÉçÉbÉpÇ… wDev ÉtÉBÅ[ÉãÉh (ìØólÇ… PrGeneral OP ÉRÅ[ÉhLJ) Ç…óäÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇπÇÒÇ™ÅAï‘ÇËílÇ‚ÉNÉäÉGÅ[É^Ç…äÓÇ√ǢǃÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃìÆçÏÇïœçXÇ∑ÇÈèÍçáÇÕÅAè≠Ç»Ç≠ÇΔLJDZÇÍÇê≥ämÇ…çsǡǃÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃè´óàÇÃÉäÉäÅ[ÉXÇ≈ÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™âÛÇÍÇÈDZÇΔǙǻǢÇÊÇ§Ç…ÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBâ¬î\Ç≈džÇÍÇŒÅAPrGeneral kPrVersionOp OP ÉRÅ[ÉhÇégópǵǃÅAç\ë¢ëÃÇéÊìæÇµÅAdriver.creator Ç®ÇÊÇ— driver.release ÉtÉBÅ[ÉãÉhÇÉ`ÉFÉbÉNǵǃÅAåªç›ÇÃÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉoÅ[ÉWÉáÉìÇÉ`ÉFÉbÉNÇ∑ÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇ∑ (ÉäÉXÉg 1 ÇéQèΔ)ÅBêVǵǢ PrGeneral OP ÉRÅ[ÉhÇ…ÉAÉbÉvÉfÅ[ÉgÇ≥ÇÍǃǢǻǢÉvÉäÉìÉ^ÉhÉâÉCÉoÇà wDev ÇégópǵÇΩå√Ç¢ï˚ñ@LJà¯Ç´ë±Ç´ÉTÉ|Å[ÉgÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBéQçlÇÃÇΩÇflÇ…ÅADZÇÃãLéñÇ…åfç⁄Ç≥ÇÍǃǢÇÈ PrGeneral Version ÇÃÉTÉìÉvÉãÇ…ÇÕÅAÉoÅ[ÉWÉáÉìÇΔ wDev èÓïÒÇê≥ǵÇ≠éÊÇËèoÇ∑ï˚ñ@Ç™é¶ÇµÇƒÇ†ÇËÇ‹Ç∑ÅB

Ç≥džǂǡǃǛÇÊǧ


Ç®ÇÌÇ©ÇËÇÃÇÊǧDžÅAêVǵǢ PrGeneral OP ÉRÅ[ÉhÇÉTÉ|Å[ÉgÇ∑ÇÈÇΩÇflÇ…ÉvÉäÉìÉ^ÉhÉâÉCÉoÇΔÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉfÉxÉçÉbÉpÇ™çsǧïœçXÇÕÅAîÒèÌÇ…ÇÌÇ∏ǩǻLJÇÃÇ≈Ç∑ÅBDZÇÃêVǵǢï˚éÆÇÕÇ∑Ç≈Ç… LaserWriter ÇÃÉoÅ[ÉWÉáÉì 8.4.x ÇÃÉhÉâÉCÉoÇ…çÃópÇ≥ÇÍǃǢNjÇ∑ÅBǛǻÇ≥ÇÒLJÇ∫Ç–çÃópǵǃÇ≠ÇæÇ≥Ç¢ÅB

wDevÇÃìoò^


åªç›ÇÕÇ∑Ç◊ǃÇÃÉvÉäÉìÉ^ÉhÉâÉCÉoÇ… 255 ÇΔǢǧ wDev ID Ç™äÑÇËìñǃÇÁÇÍǃǢÇÈDZÇΔÇ…Ç»ÇËÇ‹Ç∑Ç™ÅAǪÇÍÇ≈LJÅAÉNÉäÉGÅ[É^É^ÉCÉvÇÃè’ìÀÇâÒîÇ∑ÇÈÇΩÇflÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÉAÉbÉvÉãÇà Developer Support Center Ç…ìoò^ǵǃǢÇΩÇæÇ≠ÇÊǧǮäËǢǵNjÇ∑ÅBÉAÉbÉvÉãÇà wDev ìoò^ÉyÅ[ÉWÇ≈ìoò^ÇçsǡǃÇ≠ÇæÇ≥Ç¢ÅBǪÇÃç€Ç…ÇÕéüÇÃèÓïÒÇíÒãüǵǃǢÇΩÇæÇ≠ïKóvǙdžÇËÇ‹Ç∑ÅB

  • âÔé–ñºÇΔèäç›ín
  • íSìñé“ñºÅAìdòbî‘çÜÅAìdéqÉÅÅ[ÉãÉAÉhÉåÉX
  • ÉTÉ|Å[ÉgÇ∑ÇÈÉfÉoÉCÉXÇÃêªïiñºÇΔÉÇÉfÉãñº (ó·: Apple LaserWriter 16/600)
  • ê⁄ë±É^ÉCÉv (ó·: ÉVÉäÉAÉã)
  • ÉNÉäÉGÅ[É^É^ÉCÉv (ó·: 'AAPL')

5Å`10 âcãΔì˙ÇÃÇ§ÇøÇ…ìoò^ÇÃämîFÇÇ®ëóÇËÇ¢ÇΩǵNjÇ∑ÅBwDev ÇÃìoò^DžǬǢǃÇÃÇ≤éøñ‚ÇÕ devprograms@apple.com Ç‹Ç≈Ç®ñ‚Ç¢çáÇÌÇπÇ≠ÇæÇ≥Ç¢ÅB

éQçlï∂å£

çXêVì˙: 1998 îN 6 åé 8 ì˙